+2006-05-27 Kristian Rietveld <kris@gtk.org>
+
+ Small refactoring. (#340428, Paolo Borelli).
+
+ * gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
+ (gtk_list_store_insert_with_valuesv): refactor code to determine
+ iter compare func into gtk_list_store_get_compare_func().
+
+ * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
+ (gtk_tree_store_insert_with_valuesv): likewise.
+
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): really fix
+2006-05-27 Kristian Rietveld <kris@gtk.org>
+
+ Small refactoring. (#340428, Paolo Borelli).
+
+ * gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
+ (gtk_list_store_insert_with_valuesv): refactor code to determine
+ iter compare func into gtk_list_store_get_compare_func().
+
+ * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
+ (gtk_tree_store_insert_with_valuesv): likewise.
+
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): really fix
}
}
-static void
-gtk_list_store_set_valist_internal (GtkListStore *list_store,
- GtkTreeIter *iter,
- gboolean *emit_signal,
- gboolean *maybe_need_sort,
- va_list var_args)
+static GtkTreeIterCompareFunc
+gtk_list_store_get_compare_func (GtkListStore *list_store)
{
- gint column;
GtkTreeIterCompareFunc func = NULL;
- column = va_arg (var_args, gint);
-
if (GTK_LIST_STORE_IS_SORTED (list_store))
{
if (list_store->sort_column_id != -1)
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (list_store->sort_list,
list_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
+ g_return_val_if_fail (header != NULL, NULL);
+ g_return_val_if_fail (header->func != NULL, NULL);
func = header->func;
}
else
}
}
+ return func;
+}
+
+static void
+gtk_list_store_set_valist_internal (GtkListStore *list_store,
+ GtkTreeIter *iter,
+ gboolean *emit_signal,
+ gboolean *maybe_need_sort,
+ va_list var_args)
+{
+ gint column;
+ GtkTreeIterCompareFunc func = NULL;
+
+ column = va_arg (var_args, gint);
+
+ func = gtk_list_store_get_compare_func (list_store);
if (func != _gtk_tree_data_list_compare_func)
*maybe_need_sort = TRUE;
list_store->length++;
- if (GTK_LIST_STORE_IS_SORTED (list_store))
- {
- if (list_store->sort_column_id != -1)
- {
- GtkTreeDataSortHeader *header;
- header = _gtk_tree_data_list_get_header (list_store->sort_list,
- list_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
- func = header->func;
- }
- else
- {
- func = list_store->default_sort_func;
- }
- }
-
+ func = gtk_list_store_get_compare_func (list_store);
if (func != _gtk_tree_data_list_compare_func)
maybe_need_sort = TRUE;
}
}
-static void
-gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
- GtkTreeIter *iter,
- gboolean *emit_signal,
- gboolean *maybe_need_sort,
- va_list var_args)
+static GtkTreeIterCompareFunc
+gtk_tree_store_get_compare_func (GtkTreeStore *tree_store)
{
- gint column;
GtkTreeIterCompareFunc func = NULL;
- column = va_arg (var_args, gint);
-
if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
if (tree_store->sort_column_id != -1)
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (tree_store->sort_list,
tree_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
+ g_return_val_if_fail (header != NULL, NULL);
+ g_return_val_if_fail (header->func != NULL, NULL);
func = header->func;
}
else
}
}
+ return func;
+}
+
+static void
+gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
+ GtkTreeIter *iter,
+ gboolean *emit_signal,
+ gboolean *maybe_need_sort,
+ va_list var_args)
+{
+ gint column;
+ GtkTreeIterCompareFunc func = NULL;
+
+ column = va_arg (var_args, gint);
+
+ func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
*maybe_need_sort = TRUE;
iter->user_data = new_node;
g_node_insert (parent_node, position, new_node);
- if (GTK_TREE_STORE_IS_SORTED (tree_store))
- {
- if (tree_store->sort_column_id != -1)
- {
- GtkTreeDataSortHeader *header;
- header = _gtk_tree_data_list_get_header (tree_store->sort_list,
- tree_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
- func = header->func;
- }
- else
- {
- func = tree_store->default_sort_func;
- }
- }
-
+ func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
maybe_need_sort = TRUE;